Memoized Pull-Tabbing for Functional Logic Programming
نویسندگان
چکیده
Pull-tabbing is an evaluation technique for functional logic programs which computes all non-deterministic results in a single graph structure. Pull-tab steps are local transformations to move choices towards the root of expression. independent search strategy so that different strategies (depth-first, breadth-first, parallel) can be used extract computation. It has been compile languages into imperative or purely target languages. might duplicate case shared subexpressions. This could result dramatic increase execution time compared backtracking implementation. In this paper we propose refinement avoids efficiency problem while keeping good properties pull-tabbing. We evaluate first implementation improved Julia programming language.
منابع مشابه
On the correctness of pull-tabbing
Pull-tabbing is an evaluation approach for functional logic computations, based on a graph transformation recently proposed, which avoids making irrevocable non-deterministic choices that would jeopardize the completeness of computations. In contrast to other approaches with this property, it does not require an upfront cloning of a possibly large portion of the choice’s context. We formally de...
متن کاملProbabilistic Functional Logic Programming
This paper presents PFLP, a library for probabilistic programming in the functional logic programming language Curry. It demonstrates how the concepts of a functional logic programming language support the implementation of a library for probabilistic programming. In fact, the paradigms of functional logic and probabilistic programming are closely connected. That is, we can apply techniques fro...
متن کاملMulti-paradigm Logic Programming Some Applications of Functional-logic Programming
We show examples for higher-order functional logic programming in which both programming concepts nicely complement each other. These include modeling distributed systems, parsing and hardware synthesis.
متن کاملContracts and Specifications for Functional Logic Programming
The expressive power of functional logic languages supports high-level specifications as well as efficient implementations of problems in the same language. If specifications are executable, they can be used both as initial prototypical implementations and as contracts for checking the reliable execution of implementations expected to satisfy the specification. In this paper, we propose a concr...
متن کاملConstraint Functional Logic Programming for Origami Construction
We describe origami programming methodology based on constraint functional logic programming. The basic operations of origami are reduced to solving systems of equations which describe the geometric properties of paper folds. We developed two software components: one that provides primitives to construct, manipulate and visualize paper folds and the other that solves the systems of equations. U...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2021
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-030-75333-7_4